package com.ruoyi.work.domain;

import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.work.vo.UserVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 岗位job管理对象 jobbasicinfo
 *
 * @author ruoyi
 * @date 2024-11-10
 */
public class Jobbasicinfo extends UserVo
{
    private static final long serialVersionUID = 1L;

    /** 职位id */
    private Long jobId;

    /** 职位 */
    @Excel(name = "职位")
    private String jobTitle;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;


    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /** 薪资范围 */
    @Excel(name = "薪资范围")
    private String salaryRange;

    /** 经验 */
    @Excel(name = "经验")
    private String workYears;

    /** 教育 */
    @Excel(name = "教育")
    private String education;

    /** 时间 */
    private Date postDate;

    /** 最后更新 */
    private Date lastUpdate;

    /** 负责工作 */
    @Excel(name = "负责工作")
    private String jobDescription;

    /** 公司id */
    private Long companyId;

    public void setJobId(Long jobId)
    {
        this.jobId = jobId;
    }

    public Long getJobId()
    {
        return jobId;
    }
    public void setJobTitle(String jobTitle)
    {
        this.jobTitle = jobTitle;
    }

    public String getJobTitle()
    {
        return jobTitle;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }
    public void setSalaryRange(String salaryRange)
    {
        this.salaryRange = salaryRange;
    }

    public String getSalaryRange()
    {
        return salaryRange;
    }
    public void setWorkYears(String workYears)
    {
        this.workYears = workYears;
    }

    public String getWorkYears()
    {
        return workYears;
    }
    public void setEducation(String education)
    {
        this.education = education;
    }

    public String getEducation()
    {
        return education;
    }
    public void setPostDate(Date postDate)
    {
        this.postDate = postDate;
    }

    public Date getPostDate()
    {
        return postDate;
    }
    public void setLastUpdate(Date lastUpdate)
    {
        this.lastUpdate = lastUpdate;
    }

    public Date getLastUpdate()
    {
        return lastUpdate;
    }
    public void setJobDescription(String jobDescription)
    {
        this.jobDescription = jobDescription;
    }

    public String getJobDescription()
    {
        return jobDescription;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("jobId", getJobId())
            .append("jobTitle", getJobTitle())
            .append("companyName", getCompanyName())
            .append("city", getCity())
            .append("salaryRange", getSalaryRange())
            .append("workYears", getWorkYears())
            .append("education", getEducation())
            .append("postDate", getPostDate())
            .append("lastUpdate", getLastUpdate())
            .append("jobDescription", getJobDescription())
            .append("companyId", getCompanyId())
            .toString();
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Jobbasicinfo that = (Jobbasicinfo) o;
        return getJobId().equals(that.getJobId());
    }

    @Override
    public int hashCode() {
        return Objects.hash(jobTitle,companyName,city,salaryRange,workYears,education);
    }
}
